/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.latesis.bean;

import java.io.Serializable;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Sort;

/**
 *
 * @author user
 */
@Entity
@Table(name = "TBL_ZONA")
public class ZonaBean implements Serializable{
    
    private Long id;      
    private String nombre;    
    private String descripcion;    
    private String estado;
    private List<DireccionClienteBean> direcciones;
    private List<PuntoGeocercaBean> puntosGeocerca;

    public ZonaBean(){
        direcciones=new ArrayList<DireccionClienteBean>();
        puntosGeocerca=new ArrayList<PuntoGeocercaBean>();                
    }
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }

    @Column(name = "nombre", length = 20, nullable = false)
    public String getNombre() {
        return nombre;
    }

    @Column(name = "descripcion", length = 200, nullable = true)
    public String getDescripcion() {
        return descripcion;
    }

    @Column(name = "estado", length = 1, nullable = false)
    public String getEstado() {
        return estado;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy="zona")
    public List<DireccionClienteBean> getDirecciones() {
        return direcciones;
    }
    
    @OneToMany(fetch = FetchType.LAZY, mappedBy="zona")        
    public List<PuntoGeocercaBean> getPuntosGeocerca() {
        return puntosGeocerca;
    }
    
    public void setId(Long id) {
        this.id = id;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }
    
    public void setDirecciones(List<DireccionClienteBean> direcciones) {
        this.direcciones = direcciones;
    }
    
    public void setPuntosGeocerca(List<PuntoGeocercaBean> puntosGeocerca) {
        this.puntosGeocerca = puntosGeocerca;
    }
    
}
